# 来源Directory 2 课后习题：
# 　　购物车程序项目：
# 　　要求：1、运行程序后，让用户输入支付宝余额，然后打印我们的商品列表给用户。
# 　　   　　2、让用户输入商品编号进行商品的购买。
# 　　  　　 3、用户选择商品后，检查用户的余额是否够，若够则直接扣款，不够则提醒用户。
# 　　　　   4、用户可以随时退出购买，推出时打印用户已购买的商品和支付宝余额。
import sys
while True:
    print("------------请注册您的账号---------------")
    name = input("请设置您的用户名：")
    pass_word = input("请设置您的密码：")
    pass_word01 = input("确认密码：")

    if pass_word == pass_word01:
        print("您的账号注册成功！")
        break
    else:
        print("密码前后两次输入不一致，请重新检查您输入的密码")

count = 0
while True:
    print("------------请登录您的账号---------------")
    if count == 3:
        print("您的账号密码错误次数过多，系统已关闭")#输入次数满3次则关闭系统
        sys.exit(0)

    name02 = input("请输入您的用户名:")
    pass_word02 = input("请输入您的密码：")
    count = count +1#输入一次count就加1

    #设置限制登录次数，登录次数最多为3次，3次输入密码都错误则关闭系统
    count02 = 3-count
    # print(type(count02))

    if pass_word02 == pass_word01:
        if name02 == name:
            print("登录成功！")
            break
    else:
        print("您输入的账号或密码有误，请重新检查您的账号密码，您还有%d次登录机会"%(count02))




print("------------欢迎进入购物系统--------------")
alipay_balance = int(input("请输入您的支付宝余额："))

shopping_list = []
while True:
    print("--------------⭐商品信息⭐----------------")
    goods_list = [
        ("华为 mate40",9800),
        ("AirPods2",1099),
        ("书包",108),
        ("Nasa卫衣",89),
        ("花西子散粉",169),
        ("卡西欧g-shock",580)
    ]


    # for index,item in enumerate(goods_list):#加序号
    #     print(index,item)

    # 打印商品的编号和商品信息
    for item in goods_list:
        print(goods_list.index(item),item)

    # 判断输入的是编号还是退出指令
    user_choice = input("请输入您想要的商品序号（或者输入“退出”检查购物信息）：")
    #有让用户输入的地方，可以避免有某一行无限输入

    #判断字符串的类型
    if user_choice.isdigit():# 如果输入的是数字，强制转换成int
        user_choice = int(user_choice)
        if user_choice >= 0 and user_choice <= len(goods_list):
            if alipay_balance >= goods_list[user_choice][1]:
                shopping_list.append(goods_list[user_choice])
                money02 = alipay_balance - goods_list[user_choice][1]
                print("已经为您添加该商品，您的余额还剩%s"%(money02))
                print(shopping_list)
            else:
                print("您的余额不足，这么点钱还想买，快点充钱吧！")
        else:
            print("您输入的商品不存在")
    elif user_choice == "退出":
        for item in shopping_list:
            print("你买了%s" %(item[0]),"花了%s块钱"% (item[1]))
        print("您的余额还有%s"%(money02))
        print("您添加了%s到购物车中"%(shopping_list),"您的余额还有{money}".format(money=money02))
        print()
        break
    else:
        print("您输入的信息有误！")
